Monitoring and control devices provide their users with economic savings and an improved quality of life by automating the process of watching over and reacting to some physical characteristics of the surrounding world. In some industries, such as residential security, automated monitoring provides reassurance of the safety of possessions from burglary and fire. In other applications, such as industrial manufacturing, the cost of installing and maintaining automated control systems is cheaper than the equivalent cost of labor. Regardless of the type of environment or the benefits conferred, automated monitoring and control devices provide a practical solution to the problem of maintaining a desired state.
All monitoring and control systems—not just those in the security or manufacturing industries—relieve their users from having to manually check that a situation is “normal.” In the security industry, most current systems raise an alert when the environment changes from its “normal” state. In many systems, the monitoring system automatically corrects the issue raised by the alert. For example, in steel manufacturing, monitoring systems are used to correct the thickness of steel plates by using measurements from the just-extruded portions of the plate to adjust controls.
To date, the typical method of defining a system's current “normal” state—and by extension, defining what events should trigger an alert or correction—has been, in effect, to specifically tell the system in what state the system is “normal”. For example, in residential security applications, the standard mechanism for defining the normal state is for a user or a security technician to directly interact with the system. The user interacts with the system via a keypad on the system by keying in an access code and then selecting a state, such as “arm” or “disarm.” The technician usually interacts with the system in order to change the system configuration by physically moving electrical jumpers or connecting wires, by programming the system with a computer, via a plug-in interface, or by replacing a pre-programmed memory chip in the system. Other monitoring systems, such as those used in manufacturing or industrial applications, may not require any configuration for what constitutes “normal” (e.g. fire sensors, water/flooding sensors), but these systems are in essence the same, in that they require an initial configuration in order to add, remove or change sensors and to specify what actions will be taken when a particular pattern of sensor outputs occurs.
One of the biggest problems with conventional monitoring systems (including alarm/security systems, sprinkler systems, and VCRs) is the difficulty posed in configuring the device to perform as desired. For the vast majority of users, an ideal monitoring system would be one whose day-to-day operation is not even considered, such as a thermostat. It is installed, and performs its duty indefinitely. In this type of system, the user never has to initially configure or subsequently define the inputs that the system should monitor or control. This “zero configuration” approach—where users add input sensors and output devices but are relieved of the chore of creating the rules for those inputs and outputs—still provides the benefits offered by monitoring system while removing the difficulties of configuring the components.
One approach to providing such a system is to configure the system from an off-site location, such as a central monitoring station where trained technicians are available. In this type of system, the central monitoring station receives an alert when a physical change has been made to the system, such as the addition or removal of a sensor or output device. A technician then programs the system remotely in order to correctly update the system.
An alternative approach is to use logic that “learns” the normal state of its environment. An alarm system constructed in accordance with this approach would continuously monitor its environment and determine occupancy patterns in order to distinguish between authorized and unauthorized users. A sprinkler system constructed in accordance with this approach would determine if watering is needed with ground moisture sensors and remote data feeds detailing forecasted weather and seasonal information. Such a system would learn the right amount of water to provide—even skipping watering at times when rainfall is imminent, or providing extra water in the early morning on days that are expected to be hot and dry. Learning systems typically require increased amounts of storage and computation to correctly sense and learn environmental patterns. In order to avoid placing large amounts of storage and computing power at the monitored location, with the attendant costs, and to allow remote data to be used in the calculations, it would be desirable for the monitored location to communicate with a remote location where the storage and computational power and remote data feeds are located.
One problem with both of the aforementioned approaches is that they require a secure communication link between the monitored location and a remote site.
Typical communication methods, such as telephone lines, have proved to be vulnerable to determined attackers. A particularly attractive communication alternative is the Internet, since it is becoming more and more widely available. However, the Internet is also relatively insecure and subject to attack at multiple locations. In addition, some method must be used to ensure the security of the remote site itself. If this remote site is an automated server, it may also be subject to compromise in a variety of ways.